/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.sadhar.sipp.kelompokbiaya;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.sadhar.sia.common.ClassConnection;

/**
 *
 * @author bloodrunk
 */
public class KelompokBiayaDAOImpl implements KelompokBiayaDAO {

    public KelompokBiayaDAOImpl() {
        ClassConnection.getTransactionProxyFactoryBean().setTarget(this);
    }

    /**
     * Digunakan untuk mengambil seluruh data kelompokBiaya
     * berhubungan dengan table ppmk.kelompokBiaya,ppmk.jenisBiaya,
     * ppmk.posBiaya
     * @return
     * @throws Exception
     */
    public List<KelompokBiaya> list() throws Exception {
        String sql = "SELECT * FROM " +
                "ppmk.kelompokBiaya,ppmk.jenisBiaya,ppmk.posBiaya where " +
                "ppmk.kelompokBiaya.kodeJenisBiaya=ppmk.jenisBiaya.kodeJenisBiaya and " +
                "ppmk.kelompokBiaya.kodePosBiaya=ppmk.posBiaya.kodePosBiaya;";
        List<KelompokBiaya> kelompokBiayas = new ArrayList<KelompokBiaya>();
        List<Map> row = ClassConnection.getJdbc().queryForList(sql);
        for (Map m : row) {
            KelompokBiaya kelompokBiaya = new KelompokBiaya();
            kelompokBiaya.setKodeKelompokBiaya(Integer.valueOf(m.get("kodeKelompokBiaya").toString()));
            kelompokBiaya.setTahunKelompok(m.get("tahunKelompok").toString());
            kelompokBiayas.add(kelompokBiaya);
        }
        return kelompokBiayas;
    }

    /**
     * Digunakan untuk mengambil tahunKelompok dari table kelompokBiaya
     * @return
     */
    public List<KelompokBiaya> listDistinct() {
        String sql=    "SELECT distinct tahunKelompok  FROM ppmk.kelompokBiaya ";
        List<KelompokBiaya> kelompokBiayas = new ArrayList<KelompokBiaya>();
        List<Map> row = ClassConnection.getJdbc().queryForList(sql);
        for (Map m : row) {
            KelompokBiaya kelompokBiaya = new KelompokBiaya();           
            kelompokBiaya.setTahunKelompok(m.get("tahunKelompok").toString());
            kelompokBiayas.add(kelompokBiaya);
        }
        return kelompokBiayas;
    }   
}
